package com.qst.order.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 退货申请明细（记录每个订单项的退货数量）
 * 对应数据库表：return_apply_item
 */
@Data
@TableName("return_apply_item")
public class ReturnApplyItem {

    /**
     * 主键（自增）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 关联的退货申请ID（外键关联return_apply.return_id）
     */
    private Integer returnId;

    /**
     * 订单项编号（对应订单中具体商品的唯一标识，前端传递的itemNo）
     */
    private String itemNo;

    /**
     * 商品ID
     */
    private Integer productId;

    /**
     * 退货数量
     */
    @JsonProperty("quantity") // 指定JSON序列化/反序列化时的字段名为"quantity"
    private Integer refundQuantity;

    /**
     * 该订单项的退货理由（可选，可复用主表理由或单独设置）
     */
    private String reason;


    /**
     * 商品名称（关联订单明细表）
     */
    @TableField(exist = false)
    private String productName;

    /**
     * 商品规格（关联订单明细表）
     */
    @TableField(exist = false)
    private String specs;

    /**
     * 商品图片（关联订单明细表）
     */
    @TableField(exist = false)
    private String image;
}